<?php

/**
 * Subclass for representing a row from the 'ateneausuario' table.
 *
 *
 *
 * @package lib.model
 */
class Ateneausuario extends BaseAteneausuario
{
    public $estudiantecondicion = '';
    private $nombreUsuario = '';
    public $cedulaEstudianteConId='';

    private $nombreDecanato = '';
	private $nombreDepartamento = '';
	private $nombreEspecialidad = '';
	private $numeroCedula = '';
	private $idDecanato = '';
	private $objDatoPersonal = '';
	private $objsUsuariosConUnRolId = '';
	private $nombreYDecanato = '';
	private $cedula = '';

	function getNombreYDecanato()
	{
		if ($this->nombreYDecanato == '')
    	{
			if ($this->getRolId()==4)
			{
				//echo 'entro'.$this->getId();
				$c = new Criteria();
				$c->add(DatoEstudiantePeer::USUARIOATENEA_ID, $this->getId());
				$ced = DatoEstudiantePeer::doSelectOne($c)->getCedula();
                //echo 'ced'.$ced;
				$c2 = new Criteria();
				$c2->add(EstudiantePeer::CEDULA,$ced);
				$objEstudiante = EstudiantePeer::doSelectOne($c2);
				$nombre = $objEstudiante->getNombre().' '.$objEstudiante->getApellido();
				$idCarrera = $objEstudiante->getCfCarrera();

				$c3 = new Criteria();
				$c3->add(CarreraPeer::CP_CARRERA,$idCarrera);
				$c3->addJoin(CarreraPeer::CF_DECANATO,DecanatoPeer::CP_DECANATO);
				$decanato = DecanatoPeer::doSelectOne($c3)->getNombre();

				return $nombre.' -- '.$decanato;
			}
			else
			{
				if ($this->getRolId()==3)
				{
				$c = new Criteria();
				$c->add(AteneausuarioPeer::ID,$this->getId());

				$c->addJoin(AteneausuarioPeer::ID,DatoTrabajoPeer::USUARIO_ID);
				$objdecanato = DatoTrabajoPeer::doSelectOne($c);
				$idDecanato = $objdecanato->getDecanatoId();
				$c1 = new Criteria();
				$c1->add(DecanatoPeer::CP_DECANATO,$idDecanato);
				$decanato = DecanatoPeer::doSelectOne($c1)->getNombre();

				return $this->getNombreUsuario().' -- '.$decanato;

				}
				else
				{
				$c = new Criteria();
				$c->add(UsuarioDepartamentoPeer::USUARIO_ID,$this->getId());
				$c->addJoin(UsuarioDepartamentoPeer::DEPARTAMENTO_ORIENTACION_ID,DepartamentoOrientacionPeer::ID);
				$objdecanato = DepartamentoOrientacionPeer::doSelectOne($c);
				$idDecanato = $objdecanato->getDecanatoId();
				$c1 = new Criteria();
				$c1->add(DecanatoPeer::CP_DECANATO,$idDecanato);
				$decanato = DecanatoPeer::doSelectOne($c1)->getNombre();

				return $this->getNombreUsuario().' -- '.$decanato;



				}
			}

    	}

	}

	function getObjsUsuariosConUnRolId($idRol)
	{
		if ($this->objsUsuariosConUnRolId=='')
		{
			$c = new Criteria();
			$c->add(AteneausuarioPeer::ROL_ID,$idRol);
			$this->objsUsuariosConUnRolId = AteneausuarioPeer::doSelect($c);
		}

		return $this->objsUsuariosConUnRolId;
	}





	function getNombreUsuario()
	{
		if ($this->nombreUsuario=='')
		{
			$c = new Criteria();
			$c->add(DatoPersonalPeer::USUARIO_ID,$this->getId());
			$objDP = DatoPersonalPeer::doSelectOne($c);
			$this->nombreUsuario = $objDP->getNombreCompleto();
		}

		return $this->nombreUsuario;
	}


   function getEstudiantecondicion()
   {

   	if ($this->estudiantecondicion=='')
   	{
   		$c = new Criteria();
   		$c->add(DatoEstudiantePeer::CEDULA,'123');
   		$this->estudiantecondicion = DatoEstudiantePeer::doSelect($c);
   	}
   	  return $this->estudiantecondicion;
   }



  function getDescripcion($idrol)
    {
      $c = new Criteria();
      $c->add(RolPeer::ID, $idrol);
  	  $objrol = RolPeer::doSelect($c);

  	  foreach ($objrol as $regrol)
  	  {
  	  	return $descripcion = $regrol->getDescripcion();
  	  }
  	}


function getDescripcion2()
    {
      	  $objrol = $this->getRol();

  	  return $objrol->getDescripcion();
  }

public function getNombre()
  {
  	  $c3 = new Criteria();
      $c3->add(RolPeer::DESCRIPCION,'Estudiante Asesor');
      $obj3 = RolPeer::doSelectOne($c3);

      $c4 = new Criteria();
      $c4->add(AteneausuarioPeer::ID,$this->id);
      $obj4 = AteneausuarioPeer::doSelectOne($c4);

      if ($obj4->getRolId()!=$obj3->getId())
      {
	  	  $c = new criteria();
	  	  $c->add(DatoPersonalPeer::USUARIO_ID,$this->id);
	  	  $obj = DatoPersonalPeer::doSelectOne($c);
	  	  if ($obj)
  	  	  {
  	  	    return $obj->getNombre();
  	      }else
  	        return 'No Encontrado';
       }else
       {
       		$c = new criteria();
	  	    $c->add(DatoEstudiantePeer::USUARIOATENEA_ID,$this->id);
	  	    $obj = DatoEstudiantePeer::doSelectOne($c);
	  	    if ($obj)
  	  	    {
			    $c2 = new criteria();
	  	    	$c2->add(EstudiantePeer::CEDULA,$obj->getCedula());
	  	    	$obj2 = EstudiantePeer::doSelectOne($c2);
  	  	    	if ($obj2)
  	  	    	{
  	  	    	   return $obj2->getNombre();
  	  	    	}else
  	  	    	   return 'No Encontrado';

  	        }else
  	          return 'No Encontrado';
       }


  }


public function getCedula()
  {
      $c3 = new Criteria();
      $c3->add(RolPeer::DESCRIPCION,'Estudiante Asesor');
      $obj3 = RolPeer::doSelectOne($c3);

      $c4 = new Criteria();
      $c4->add(AteneausuarioPeer::ID,$this->id);
      $obj4 = AteneausuarioPeer::doSelectOne($c4);

      if ($obj4->getRolId()!=$obj3->getId())
      {
	  	  $c = new criteria();
	  	  $c->add(DatoPersonalPeer::USUARIO_ID,$this->id);
	  	  $obj = DatoPersonalPeer::doSelectOne($c);
	  	  if ($obj)
  	  	  {
  	  	    return $obj->getNombre();
  	      }else
  	        return 'No Encontrado';
       }else
       {
       		$c = new criteria();
	  	    $c->add(DatoEstudiantePeer::USUARIOATENEA_ID,$this->id);
	  	    $obj = DatoEstudiantePeer::doSelectOne($c);
	  	    if ($obj)
  	  	    {
  	  	    	return $obj->getCedula();
  	        }else
  	          return 'No Encontrado';
       }
  }

public function getApellido()
  {
      $c3 = new Criteria();
      $c3->add(RolPeer::DESCRIPCION,'Estudiante Asesor');
      $obj3 = RolPeer::doSelectOne($c3);

      $c4 = new Criteria();
      $c4->add(AteneausuarioPeer::ID,$this->id);
      $obj4 = AteneausuarioPeer::doSelectOne($c4);

      if ($obj4->getRolId()!=$obj3->getId())
      {
	  	  $c = new criteria();
	  	  $c->add(DatoPersonalPeer::USUARIO_ID,$this->id);
	  	  $obj = DatoPersonalPeer::doSelectOne($c);
	  	  if ($obj)
  	  	  {
  	  	    return $obj->getApellido();
  	      }else
  	        return 'No Encontrado';
       }else
       {
       		$c = new criteria();
	  	    $c->add(DatoEstudiantePeer::USUARIOATENEA_ID,$this->id);
	  	    $obj = DatoEstudiantePeer::doSelectOne($c);
	  	    if ($obj)
  	  	    {
			    $c2 = new criteria();
	  	    	$c2->add(EstudiantePeer::CEDULA,$obj->getCedula());
	  	    	$obj2 = EstudiantePeer::doSelectOne($c2);
  	  	    	if ($obj2)
  	  	    	{
  	  	    	  return $obj2->getApellido();
  	  	    	}
  	  	    	else
  	  	    	   return 'No Encontrado';
  	        }else
  	          return 'No Encontrado';
       }
  }

      static public function doSelectByCarrera($carrera)
      {
      	$car= new Criteria();
        $car->add(EstudiantePeer::CF_Carrera ,$carrera);
      	return  EstudiantePeer::doSelect($car);
	}

	public function setUrlFotoUsuario($nombre)
	{
		$url = '/images/'.$nombre;
		$this->setUrlFoto($url);
	}



	function getNumeroCedula()
	{

		if ($this->numeroCedula=='')
		{
			$c = new Criteria();
			$c->add(DatoPersonalPeer::USUARIO_ID,$this->getId());

			$objDP = DatoPersonalPeer::doSelectOne($c);

		if($objDP)
		{
		$this->numeroCedula = $objDP->getCedulapersonal();
		}
		else
		{
		$this->numeroCedula = 'Dato no encontrado';
		}

		}

		return $this->numeroCedula;

	}

    function getNombreDecanato()
    {
    	if ($this->nombreDecanato == '')
    	{   // comparacion con el rol de profesor asesor
    		if (($this->getRol()->getId() == 3))
    		{
				$c = new Criteria();
				$c->add(AteneausuarioPeer::ID,$this->getId());
				$c->addJoin(AteneausuarioPeer::ID,DatoTrabajoPeer::USUARIO_ID);
				$idDecanato = DatoTrabajoPeer::doSelectOne($c)->getDecanatoId();
				$c1 = new Criteria();
				$c1->add(DecanatoPeer::CP_DECANATO,$idDecanato);
				$decanato = DecanatoPeer::doSelectOne($c1)->getNombre();

			}
	   	   $this->nombreDecanato = $decanato;
	   	}
    	return $this->nombreDecanato;
    }

   function getIdDecanato()
    {
    	if ($this->idDecanato == '')
    	{   // comparacion con el rol de profesor asesor
    		if (($this->getRol()->getId() == 3))
    		{
				$c = new Criteria();
				$c->add(AteneausuarioPeer::ID,$this->getId());
				$c->addJoin(AteneausuarioPeer::ID,DatoTrabajoPeer::USUARIO_ID);
				$idDecanato = DatoTrabajoPeer::doSelectOne($c)->getDecanatoId();
				$c1 = new Criteria();
				$c1->add(DecanatoPeer::CP_DECANATO,$idDecanato);
				$idDec = DecanatoPeer::doSelectOne($c1)->getCpDecanato();

			}
	   	   $this->idDecanato = $idDec;
	   	}
    	return $this->idDecanato;
    }


    function getNombreDepartamento()
    {
    	if($this->nombreDepartamento== '')
    	{

    		$c = new Criteria();
    		$c->add(DatoTrabajoPeer::USUARIO_ID,$this->getId());
    		$idDep = DatoTrabajoPeer::doSelectOne($c)->getDepartamentoId();

    		$c1 = new Criteria();
    		$c->add(DepartamentoPeer::ID,$idDep);
    		$this->nombreDepartamento = DepartamentoPeer::doSelectOne($c1)->getNombreDepartamento();
    	}
		return $this->nombreDepartamento;
    }

    function getNombreEspecialidad()
    {
    	if($this->nombreEspecialidad == '')
    	{
    		$c = new Criteria();
    		$c->add(DatoTrabajoPeer::USUARIO_ID,$this->getId());
    		$this->nombreEspecialidad = DatoTrabajoPeer::doSelectOne($c)->getEspecialidad();

    	}
		return $this->nombreEspecialidad;
    }

    function getObjDatoPersonal($idAteneausuario)
    {
    	if ($this->objDatoPersonal == '')
    	{
    		$c = new Criteria();
    		$c->add(DatoPersonalPeer::USUARIO_ID,$idAteneausuario);
    		$this->objDatoPersonal = DatoPersonalPeer::doSelectOne($c);

    	}
    	return $this->objDatoPersonal;
    }


   function __toString()
   {
   	return $this->getNombUsuario();
   }

}